Skip to content

feat: add icp-cli support to rust/evm_block_explorer#1310

Merged
marc0olo merged 1 commit intomasterfrom
marc0olo/icp-cli-evm-block-explorer
Mar 2, 2026
Merged

feat: add icp-cli support to rust/evm_block_explorer#1310
marc0olo merged 1 commit intomasterfrom
marc0olo/icp-cli-evm-block-explorer

Conversation

@marc0olo
Copy link
Member

Summary

  • Add icp.yaml with backend, frontend asset canister, and pre-built evm_rpc canister
  • Migrate frontend from @dfinity/* to @icp-sdk/core + @icp-sdk/bindgen (vite plugin for TypeScript bindings)
  • Add actor.js with cookie-based canister env detection (dual icp-cli/dfx support)
  • Rewrite vite.config.js with icpBindgen plugin and dual dev server auto-detection
  • Resolve evm_rpc canister ID dynamically via PUBLIC_CANISTER_ID:evm_rpc env var (using ic0 crate for the system API), falling back to the hardcoded mainnet ID from evm-rpc-canister-types
  • Bump dependencies: candid 0.10.23, evm-rpc-canister-types 5.0.1, ic-cdk 0.17.2, add ic0 1.0.1
  • Commit backend/backend.did for bindgen and add .gitignore for generated files
  • Update README.md and BUILD.md with icp-cli instructions

Note: The Motoko evm_block_explorer is not included — it uses named canister imports (canister:evm_rpc, ic:aaaaa-aa) which are not yet supported by icp-cli.

- Add icp.yaml with backend, frontend, and pre-built evm_rpc canister
- Migrate frontend from @dfinity/* to @icp-sdk/core + @icp-sdk/bindgen
- Add actor.js with cookie-based canister env detection
- Rewrite vite.config.js with bindgen plugin and dual dev server (icp-cli/dfx)
- Resolve evm_rpc canister ID dynamically via PUBLIC_CANISTER_ID:evm_rpc env var
  with fallback to hardcoded mainnet ID (using ic0 crate for env var API)
- Bump dependencies: candid 0.10.23, evm-rpc-canister-types 5.0.1, ic-cdk 0.17.2
- Commit backend.did for bindgen and add .gitignore for generated files
- Update README.md and BUILD.md with icp-cli instructions
@marc0olo marc0olo requested a review from a team as a code owner February 27, 2026 16:08
@marc0olo marc0olo merged commit 33118a6 into master Mar 2, 2026
7 checks passed
@marc0olo marc0olo deleted the marc0olo/icp-cli-evm-block-explorer branch March 2, 2026 09:53
marc0olo added a commit to dfinity/icskills that referenced this pull request Mar 9, 2026
…riptions, and dfx references

- Separate compatibility (env tools) from prerequisites (library deps) across all 16 skills
- Move icp-cli and Node.js from prerequisites to compatibility where needed
- Standardize Node.js >= 24 across all skills requiring it
- Enrich all skill descriptions with "Use when..." / "Do NOT use for..." triggering clauses
- Rename wallet skill to cycles-management (fixes misleading name)
- Convert all dfx-format icp.yaml configs to proper recipe syntax
- Replace all localhost:4943 references with localhost:8000 (icp-cli default)
- Replace dfx commands with icp equivalents in wallet-integration and internet-identity
- Fix internet-identity to use ic_env cookie pattern instead of legacy CANISTER_ID_* env vars
- Fix evm-rpc config to use pre-built WASM pattern (validated against dfinity/examples#1310)
- Remove dfx_test_key references from vetkd, recommend test_key_1 (works locally + mainnet)
- Fix cycles-management CLI commands: --icp for mint, --cycles for create, canister status
- Add icp-cli installation section
- Remove stale canister_ids.json references (icp-cli uses .icp/data/mappings/)
marc0olo added a commit to dfinity/icskills that referenced this pull request Mar 10, 2026
…fx references (#82)

* refactor: consolidate skills — fix compatibility, prerequisites, descriptions, and dfx references

- Separate compatibility (env tools) from prerequisites (library deps) across all 16 skills
- Move icp-cli and Node.js from prerequisites to compatibility where needed
- Standardize Node.js >= 24 across all skills requiring it
- Enrich all skill descriptions with "Use when..." / "Do NOT use for..." triggering clauses
- Rename wallet skill to cycles-management (fixes misleading name)
- Convert all dfx-format icp.yaml configs to proper recipe syntax
- Replace all localhost:4943 references with localhost:8000 (icp-cli default)
- Replace dfx commands with icp equivalents in wallet-integration and internet-identity
- Fix internet-identity to use ic_env cookie pattern instead of legacy CANISTER_ID_* env vars
- Fix evm-rpc config to use pre-built WASM pattern (validated against dfinity/examples#1310)
- Remove dfx_test_key references from vetkd, recommend test_key_1 (works locally + mainnet)
- Fix cycles-management CLI commands: --icp for mint, --cycles for create, canister status
- Add icp-cli installation section
- Remove stale canister_ids.json references (icp-cli uses .icp/data/mappings/)

* fix: lower Node.js to >= 22 and clean up compatibility fields

- Lower Node.js requirement from >= 24 to >= 22 (active LTS) across all skills
- Remove Node.js from compatibility where it's not a hard requirement
  (icp-cli, certified-variables, vetkd) — keep it only for frontend-focused
  skills (asset-canister, internet-identity, wallet-integration)
- Remove redundant Node.js prerequisite from icp-cli (already in Installation)

* fix: update CODEOWNERS for wallet → cycles-management rename
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants